'use strict'
exports.main = async (event, context) => {
  try {
    // 打印 event 参数
    console.log('Received event: ', event)
    console.log('Received context: ', context)

  //   // 从 event 中提取 query 参数
  //   const { access_token, openid } = event.queryStringParameters
		// console.log(access_token)
		// console.log(openid)
  //   if (!access_token || !openid) {
  //     console.error('Missing parameters: access_token or openid')
  //     return {
  //       statusCode: 400,
  //       message: 'Missing required parameters: access_token or openid',
  //     }
  //   }

    // 打印提取的参数
    // console.log('Access Token: ', access_token)
    // console.log('OpenID: ', openid)

    // 调用 uniCloud 获取手机号
    const res = await uniCloud.getPhoneNumber({
      appid: context.APPID, // DCloud appid，可配置到环境变量中
      provider: 'univerify',
      apiKey: context.apiKey, // 在开发者中心获取的 apiKey，可配置到环境变量中
      apiSecret: context.apiSecret, // 在开发者中心获取的 apiSecret，可配置到环境变量中
      access_token: event.access_token,
      openid: event.openid,
    })

    console.log('Phone number retrieved: ', res)

    // 这里可以处理数据库操作，将手机号入库
    // 如果数据库在 uniCloud 上，可以直接操作
    // 如果数据库不在 uniCloud 上，可以使用 uniCloud.httpclient 进行数据传递

    // 返回结果
    return {
      statusCode: 200,
      message: 'Phone number retrieved successfully',
      data: res, // 注意：不要将完整手机号返回前端
    }
  } catch (error) {
    // 捕获并处理错误
    console.error('Error fetching phone number: ', error)
    return {
      statusCode: 500,
      message: 'Internal Server Error',
      error: error.message,
    }
  }
}
